#include <iostream>


class Drink
{
public:
    virtual void Boil() = 0; // 烧水
    virtual void Brew() = 0; // 冲泡
    virtual void put() = 0; // 放入辅料
    void MakeDrink()
    {
        Boil();
        Brew();
        put();
    }
};

class MikTea : public Drink
{
public:
    void Boil()
    {
        std::cout<<"烧开水\n";
    } 
    virtual void Brew() 
    {
        std::cout<<"倒入奶粉搅拌\n";
    }
    virtual void put()
    {
        std::cout<<"放入椰果\n";
    } 
};

class Coffee : public Drink
{
public:
    void Boil()
    {
        std::cout<<"烧开水\n";
    } 
    virtual void Brew() 
    {
        std::cout<<"倒入咖啡粉\n";
    }
    virtual void put()
    {
        std::cout<<"放入冰块\n";
    } 
};

int main()
{
    Drink *d = new Coffee;
    d->MakeDrink();
    delete d;

    return 0;
}